package com.chen.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * <p>
 *
 * </p>
 *
 * @author Y·C
 * @since 2023-04-19
 */
@Getter
@Setter
@TableName("sys_user")
@ApiModel(value = "User对象", description = "")
public class User implements Serializable {

  private static final long serialVersionUID = 1L;

  @ApiModelProperty("id")
  @TableId(value = "id", type = IdType.AUTO)
  private Integer id;

  @ApiModelProperty("头像")
  private String avatarUrl;

  @ApiModelProperty("昵称")
  private String username;

  @ApiModelProperty("性别")
  private String sex;

  @ApiModelProperty("电话号码")
  private String phone;

  @ApiModelProperty("密码")
  private String password;

  @ApiModelProperty("生日")
  private String  birthday;

  @ApiModelProperty("工作地区")
  private String workPlace;

  @ApiModelProperty("户籍地区")
  private String hujiPlace;

  @ApiModelProperty("婚姻状况")
  private String hunyinState;

  @ApiModelProperty("身高")
  private Double height;

  @ApiModelProperty("体重")
  private Double weight;

  @ApiModelProperty("学历")
  private Integer xueli;

  @ApiModelProperty("月收入")
  private Integer monthIncome;

  @ApiModelProperty("职业")
  private String career;

  @ApiModelProperty("住房情况")
  private String houseState;

  @ApiModelProperty("购车情况")
  private String cartState;

  @ApiModelProperty("期望结婚时间")
  private String marriedTime;

  @ApiModelProperty("自我介绍")
  private String introduceYourself;

  @ApiModelProperty("微信")
  private String weixin;

  @ApiModelProperty("微信二维码")
  private String weixinCode;

  @ApiModelProperty("QQ号")
  private String qq;

  @NotNull(message = "邮箱不能为空")
  @Pattern(message = "请输入正确邮箱", regexp = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?")
  @ApiModelProperty("邮箱")
  private String email;

  @ApiModelProperty("审核状态(0:表示审核 1表示通过审核)")
  private Integer state;

  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  @TableField(value = "create_time")
  private LocalDateTime createTime;

  @ApiModelProperty("角色")
  private String role;

  @ApiModelProperty("删除标记（0:可用 1:已删除）")
  private Integer isDeleted;


}
